O6777(CAP 0-180 DEG OD TAPER)
(ABSOLUTE SURFACING MACRO)
(WORKS)

(FORMAT G65/G66 AQDTMSRZEF)
(A = #1 - INCLUDED ANGLE OF PART FROM TOP)
(Q = #17 - STEPOVER IN Z/ CUSP HEIGHT) 
(D = #7 - TOOL DIAMETER)
(T = #20 - TOOL RADIUS/ BALL OR BULL)
(M = #13 - MATERIAL SIZE/ SQUARE OR ROUND)
(S = #19 - PART DIAMETER/ TOP)
(R = #18 - R PLANE)
(Z = #26 - Z START ZERO)
(E = #8 - END OF TAPER IN Z)
(F = #9 - FEEDRATE)
(***********************************)

#100=ABS[#26]-ABS[#8]
#100=ABS[#100]
IF[[#26*#8]GE0]GOTO1
#100=ABS[#26]+ABS[#8]
N1#101=ROUND[#100/#17]
#102=#100/#101
IF[#102GT[#100/2]]GOTO1000
#103=#5001
#104=[#103-.1]-[[#7/2]+[#13/2]]
#105=#5002
#113=#105
#115=[#105+.1]+[[#7/2]+[#13/2]]
#155=0
IF[#7EQ[#20*2]]GOTO10
#105=#105+[[#7/2]-#20]
#155=#155+[[#7/2]-#20]
N10#105=#105+[#19/2]
#155=#155+[#19/2]
#125=90.+[#1/2]
#105=#105+[#20/TAN[#125/2]]
#155=#155+[#20/TAN[#125/2]]
G0G90X#104Y#115
Z[#26+.1]
G1Z#26F#9
#106=#5003
#109=#9
#135=[#155*2]*3.14
WHILE[#101GE0]DO1
IF[#101LT0]GOTO100
#101=#101-1.
G1Z#106F#109
G41Y#105
X#103
G02J-#155
G03X[#103+.1]Y[#105+.1]J.1F[#9/2]
G0Z[#106+.1]
G40X#104
#105=#105+[TAN[#1/2]*#102]
#155=#155+[TAN[#1/2]*#102]
#145=[#155*2]*3.14
#109=#9*[#145/#135]
#106=#106-#102
END1
N100G0G90Z#18
X#103Y#113
M99
N1000#3000= 1( Q VALUE TOO BIG )
